Method and system for determining root-cause diagnosis of events occurring during the operation of a communication network

ABSTRACT

The invention concerns a method and a system for determining root-cause diagnosis of events occurring during the operation of a communication network comprising monitoring time signals representative of the operation of the network to detect the occurrence of an event relative to the network traffic, and for each detected event, during the duration of said event obtaining distributions of data on several dimensions of the network linked to said event, automatically determining an event root-cause diagnosis of the detected event, called single event diagnosis, comprising at least one element of said distributions, an element being a value taken by a network dimension having a contribution in said distributions of data, the single event diagnosis determination using rules of business logic configuration organized hierarchically, which are applied according to said hierarchy to select at least one element of said distributions, the selection of more than one element comprising machine learning clustering.

FIELD OF THE DISCLOSURE

The present invention concerns a method and system for determining root-cause diagnosis of events occurring during the operation of a communication network. The invention is in the field of monitoring the operation of communication networks, and in particular of mobile telephony networks.

BACKGROUND OF THE DISCLOSURE

Monitoring the operation of communication networks, in particular for mobile telecommunications, is a constant concern of network operators. Indeed, it is critical to detect any anomalies in the network operation and to apply corrective measures, in order to maintain the customer satisfaction.

Various management and monitoring systems produce a large amount of real-time data, which cannot be comprehended and efficiently processed by the users (e.g. operators, technicians). In particular, the monitoring systems gather real-time data, which may include telemetry data, alarms, warnings, performance monitoring, data from passive or active probes etc., and it is possible to detect time lasting events, such as anomalies in the operation of the communication network. An important challenge is to simplify the investigation, prioritize the events and utilize the resources effectively. When receiving large amounts of information, such a challenge is difficult to achieve even for very skilled operators, and it is desirable to provide automated tools to help the operators.

In particular, it is desirable to determine automatically the root-cause of observed events, such as alarms and anomalies. Some events can be the cause of others, creating complex hierarchy links between events, and it is desirable to show those correlations and to determine automatically witch one is the root cause.

Given the complexity of communication networks, the ready-to-use machine learning algorithms are not sufficient for this task.

An aim of the present invention is to provide automated root-cause diagnosis for time lasting events, with the lowest percentage of error, including single event diagnosis and diagnosis for groups of correlated event.

BRIEF SUMMARY OF THE DISCLOSURE

This and other objects are achieved by a method for determining root-cause diagnosis of events occurring during the operation of a communication network, implemented by a processor of a programmable device, comprising monitoring time signals representative of the operation of the network to detect the occurrence of an event relative to the network traffic. The method further comprises a first processing phase, comprising, for each detected event, during the duration of said event:

obtaining distributions of data on several dimensions of the network linked to said event,

automatically determining an event root-cause diagnosis of the detected event, called single event diagnosis, comprising at least one element of said distributions, an element being a value taken by a network dimension having a contribution in said distributions of data,

the single event diagnosis determination using a first set of rules of business logic configuration organized hierarchically, which are applied according to said hierarchy to select at least one element of said distributions, the selection of more than one element comprising machine learning clustering.

In embodiments of the invention, the method for determining root-cause diagnosis of events occurring during the operation of a communication network according to the invention comprises one or more of the following features, considered alone or according to all technically possible combinations.

The method further comprises a second processing phase of determining a root-cause diagnosis for a group of at least two distinct events, from the single event diagnosis determined for each of the events of the group of events, based on a computation of a mathematical correlation between time signals related to said events, and applying a second set of rules of business logic configuration.

The single event diagnosis determination further comprises, for a detected event, obtaining the first set of rules of business logic configuration in association with the event, each rule defining a dimension and a test to apply to at least one element of the distributions associated to said dimension in order to select one or several elements as major contributors to the event.

A rule of the first set of rules of business logic configuration further indicates, a maximum number of elements to select, a minimum absolute contribution ratio.

The method further comprises, for at least one element of the dimension indicated in the rule, computing an absolute contribution ratio of said element, the absolute contribution ratio being equal to a percentage of occurrence of the element within the distributions linked to said event, during the event duration.

The method further comprises, for selecting a group of several elements, applying a machine learning clustering on distributions of the elements of the dimension indicated in the rule, based on the absolute contribution ratio of each element to the distributions linked to said event, during the event duration, in order to obtain a group of elements having an absolute contribution ratio higher than the minimum absolute contribution ratio.

A rule further comprises, if the maximum number of elements to select is at least equal to two, a minimum relative contribution ratio, and the machine learning clustering applies a clustering into two clusters, the method further comprising:

computing a relative contribution ratio as a ratio between the absolute contribution ratios of the cluster centers; and

comparing the relative contribution ratio to the minimum contribution ratio defined by the rule to select the cluster with a higher contribution according to the rule.

The machine learning clustering is a K-means clustering.

The first set of rules of business logic configuration is organized hierarchically in the form of a rule tree, and wherein at least some rules indicate a type of output among “cause”, “intermediate result” and “final result”, the method comprising parsing the rule tree to obtain the intermediate and/or final results.

For each event, the single event diagnosis is computed from the intermediate and final results obtained.

The determining of a group root-cause diagnosis for at least two distinct events comprises, for at least a pair of distinct events having a correlation score higher than a predetermined correlation threshold, applying the second set of rules of business logic configuration to determine whether the events of the pair of events match a relationship of “cause” or “equivalence” or whether the business logic correlation is “forbidden”.

If the events of the pair of events match a relationship of “cause” or “equivalence”, the events are grouped and a group root-cause is computed in function of the relationship and of the single event diagnosis of each event of the pair of events.

The second set of rules of business logic configuration defines, for a pair of events, rules on characteristics of said events, comprising dimension values in common, nature of events, network topology and single event diagnosis.

The method further comprises iteratively processing groups of events to determine a root-cause diagnosis, wherein two groups of events are merged into a larger group based on applying the second set of rules of business logic configuration on pairs of events of the two groups, a root-cause relationship being determined in function of the relationships of the pairs of events.

If, for a pair of events, applying the second set of rules results in a “forbidden” relationship, the pair of events is considered not correlated, and a corresponding information is output on a user interface.

According to an alternative, the determining of a group root-cause diagnosis, for at least two distinct events comprises, for at least a pair of distinct events having a correlation score higher than a predetermined correlation threshold, grouping said events in a provisional group and applying the second set of rules of business logic configuration to determine subgroups of events which have a common root-cause diagnosis.

The subgroups of events of the provisional group of events are determined based on topology relationships of network elements related to network dimensions associated to single event diagnosis of events.

The topology relationships include topology elements selected through a computation of a contribution ratio of each node or path common to network elements found in single event diagnosis of events of said provisional group.

A topology element with a contribution ratio higher than a predetermined ratio threshold is selected as root-cause diagnosis of a subgroup of events related to said topology element.

The monitoring of time signals representative of the operation of the network to detect the occurrence of an event relative to the network traffic comprises an adaptive computation an upper and a lower anomaly threshold value for at least one metric of said time signals, an event being detected if said metric value is above said upper anomaly threshold value or below said lower anomaly threshold value, the adaptive computation comprising statistical analysis to minimize a given function.

According to another aspect, the invention concerns a system for determining root-cause diagnosis of events occurring during the operation of a communication network, comprising a programmable device having a processor configured to monitor time signals representative of the operation of the network to detect the occurrence of an event relative to the network traffic. The processor is configured to execute a first processing phase, wherein for each detected event, during the duration of said event, the processor implements:

a module for obtaining distributions of data on several dimensions of the network linked to said event,

a module for automatically determining an event root-cause diagnosis of the detected event, called single event diagnosis, comprising at least one element of said distributions, an element being a value taken by a network dimension having a contribution in said distributions of data,

the single event diagnosis determination using a first set of rules of business logic configuration organized hierarchically, which are applied according to said hierarchy to select at least one element of said distributions, the selection of more than one element comprising machine learning clustering.

According to a particular feature, the processor is further configured for implementing a second processing phase of determining a root-cause diagnosis for a group of at least two distinct events, from the single event diagnosis determined for each of the events of the group of events, based on a computation of a mathematical correlation between time signals related to said events, and applying a second set of rules of business logic configuration.

The system for determining root-cause diagnosis of events occurring during the operation of a communication network is configured to implement the method for determining root-cause diagnosis of events occurring during the operation of a communication network, as briefly described above, according to all embodiments.

According to another aspect, the invention concerns a computer program product comprising software instructions, which, when implemented by a programmable device, implement a method for determining root-cause diagnosis of events occurring during the operation of a communication network as briefly described above.

According to another aspect, the invention concerns a non-transitory computer readable storage medium having computer readable code instructions stored theron, which, when implemented by a programmable device, implement a method for determining root-cause diagnosis of events occurring during the operation of a communication network as briefly described above.

BRIEF DESCRIPTION OF THE DRAWINGS

Further characteristics and advantages of the present invention will become apparent from the following description, provided merely by way of non-limiting example, with reference to the enclosed drawings, in which:

FIG. 1 illustrates schematically a communication network system and a system for determining root-cause diagnosis of events occurring during the operation of the communication network;

FIG. 2 is an example of time signal monitored for event detection;

FIG. 3 is a block diagram of an embodiment of a system for determining root-cause diagnosis of groups of correlated events;

FIG. 4 is a flowchart for a method for determining root-cause diagnosis of events occurring during the operation of a communication network, according to an embodiment, comprising a first phase of determining single event diagnosis and a second phase of determining diagnosis for groups of correlated event;

FIG. 5 illustrates an example of distributions on several dimensions;

FIG. 6 is a flowchart of an embodiment of a process for determining elements within the distributions linked to the events which are considered major contributors to the occurrence of the event;

FIG. 7 is a first schematic example of a rule tree;

FIG. 8 is a second schematic example of a rule tree;

FIG. 9 is a table listing an example of group diagnosis depending on relationships between correlated events;

FIG. 10 is a flowchart of a second embodiment of the second phase of determining diagnosis for groups of correlated event, and

FIG. 11 is an example of a network topology used for root-cause diagnosis.

DETAILED DESCRIPTION OF THE DISCLOSURE

The invention will be described hereafter in its application to a mobile telephony network, but is not limited to this application. In particular the invention applies to any type of telecommunication networks and also to communication networks such as optic fibre networks.

FIG. 1 illustrates schematically a telecommunication network 2. The architecture of the telecommunication network 2 is not detailed here, since the invention applies to any type of network architecture. Such a telecommunication network 2 is typically a system including network elements or nodes such as switches, routers, terminals, repeaters, aggregation devices, and more generally any network devices responsible for some aspect of data processing, switching, transmission. The network devices are adapted to implement a communication technology, for example a radio communication technology such as GERAN, UTRAN, eUTRAN etc.

For example, the telecommunication network 2 is based on System Architecture Evolution (SAE) and implements the LTE (“Long Term Evolution”) wireless communication standard.

In the case of a mobile telephony network, user equipment (i.e. mobile telephone devices) are adapted to connect to the network for communication services, such as voice or data communication.

The telecommunication network 2 comprises equipment or probes which generate data 4 representative of the operation of the network. The data 4 is obtained, without limitation, from a Network Management System (NMS), an Element Management System (EMS), a Software Defined Networking Controller (SDN). The data 4 representative of the operation of the network 2 is generated over time, for example on successive time units.

In the case of a telephony network, the data 4 comprises Call Detail Records (CDR) or Session Detail Reports (SDR) 6_(k), 6_(k+1), . . , 6_(k+L), which are successive time data records that document the various attributes of voice call or other telecommunications transactions (e.g. text message, data sessions, signaling or the like). The term CDR is used hereafter for these types of detailed reports.

The CDRs contain various attributes of a call/session/signaling procedure, such as time, duration, completion status, source number, destination number, handset information, involved services, involved network equipment.

CDRs are used for various purposes such as billing, logging or law enforcement. Calls conducted over multiples network equipment and interfaces lead to the generation of multiple CDRs. For example, a voice over LTE service may involve the use of 4 domains, 50 procedures, 15 interfaces and associated equipment with between 20 and 50 CDRs generated. Each CDR provides information about the status of the monitored equipment and interface.

The data 4 representative of the operation of the network is provided to a system 8 for monitoring the network operation, which is configured to raise alarms when a network operation anomaly is detected.

The data 4 is provided to the network operation monitoring system 8 via a communication link 14 through a communication network, for example the Internet, a Wide Area Network (WAN), a Local Area Network (LAN), a Virtual LAN (VLAN).

The network operation monitoring system 8 comprises a system 10 for determining root-cause diagnosis of events occurring during the operation of the telecommunication network and a user device 12 for the display of a graphical user interface (GUI) that includes a timeline visualization of the operation of telecommunication network 2, including the visualization of events. In particular, the system 10 is configured to determine, firstly, single event diagnosis (which can be also seen as root-cause diagnosis for single events), and secondly, the common root-causes diagnosis of groups of correlated event.

The term ‘event’ designates an anomaly in the operation status of the telecommunication network 2, detected by analysis of a time signal representative of a given aspect of the network operation, computed from the data 4 representative of the operation of the network on successive time units. The system builds in real time counters/KPis (Key Performance Indicators) from aggregating one or several data (e.g. CDRs) specific fields values on a predefined time interval. Each aggregation result is a point of the time signal representative of the operation aspect monitored. A KPI is a performance indicator computed as a combination of counters linked by a formula, for example the ratio of two counter values.

An ‘event’, also called ‘case’, occurs when the time signal exceeds an anomaly threshold value for a given duration, which is the duration of the event. The anomaly threshold values may be predetermined or adaptive, for example using linear regression. Alternatively, several anomaly threshold values may be considered in link with a severity and/or impact on the network operation, such a minor/major/critical.

For example, a time signal representative of “Call setup failure” is monitored. The time signal is built from counting CDRs of type ‘call setup’ with a field called ‘status’ having a value equal to “FAILURE” into a predefined time interval. The result of this count is one point for the time signal. This counting is done continuously on successive time intervals in real time, building the real time signal monitored. If the recorded time signal exceeds a given anomaly threshold on a sliding window, or if the signal is not between a lower and an upper anomaly threshold values, defining a “sleeve”, an anomaly is detected and a case (or event) is raised.

According to an embodiment, the anomaly threshold values are determined adaptively and automatically, so as to avoid false positive results, i.e. to avoid detecting as “anomalies” some events that are not anomalies.

In particular, the parameters used for adaptively determining anomaly threshold values are computed using statistical analysis of past values of a metric over a time window of given duration, for example of one or two hours. This computation achieves “auto-tuning”. For example, the metric is a number of “Call setup failure”. Many other metrics may be considered, for example, in the case of telecom networks, the metrics related to CS Voice, VoIMS, roaming metric, e.g. roaming inbound, roaming outbound, user plane metrics, control plane metrics, access and mobility metrics, active testing metrics.

For example, the statistical analysis is applied using the algorithm “bound optimization by quadratic approximation”, known as BOBYQA, in order to minimize a specific function.

For a set of parameters, the specific function returns a value which is the sum of:

the average difference between the anomaly threshold values, previously computed, and the base line (i.e. recorded values) of the time window, except the anomaly itself;

the average difference between the metric's values and the anomaly thresholds, plus a given margin, during the anomaly, multiplied by a factor. The factor is quite large, for example of the order of 10000 and the margin is for example of 10%;

optionally, an additional penalty given to each of the parameters, depending on the difference between the new parameter value and the original parameter value. For example, the penalty is smaller than the multiplying factor.

In an embodiment, many combinations of parameters are tested in order to minimize the specific function, and anomaly threshold values are further computed.

In an embodiment, auto-tuning is carried out periodically or is triggered by a notification from a user indicating a false positive event.

In an embodiment, the result of auto-tuning is systematically presented to a user for checking before applying the auto-tuned parameters.

Advantageously, the auto-tuning helps detecting more accurately the anomaly events (or cases) when monitoring the communication system.

FIG. 2 shows an example of a monitored time signal S, and several corresponding bounds: a major upper bound Maj_U_(B), a minor upper bound Min_U_(B), a major lower bound Maj_L_(B), a minor lower bound Min_L_(B). The major upper and lower bounds define threshold related to major anomalies. The minor upper and lower bands define thresholds related to minor anomalies. The time signal S has a portion which is higher than the minor up bound Min_U_(B). A minor anomaly is therefore detected, and the diagnosis determination is applied. In particular a single event (or case) is created, storing the anomaly context: severity, duration, signals and thresholds, dimensions distributions during the anomaly duration. The temporal duration of the diagnosis is shown in FIG. 2.

The system 10 for determining root-cause diagnosis of events processes recorded data 4 representative of the operation of the network. Several events are detected. For each given event, an associated single diagnosis is computed as explained in detail hereafter. Furthermore, for a plurality of events, a group root-cause diagnosis for groups of correlated is automatically determined.

FIG. 3 shows a schematic example of a system 10 for determining root-cause diagnosis of events.

The system 10 is for example a programmable device or a general purpose computer system, comprising one or more processors 20, and an electronic memory 22. The system 10 further comprises a network interface 24, configured to receive data from the telecommunication network 2, in particular to receive data 4 representative of the network operation, stored in a data store 28. The system 10 further comprises input/output interface 26. All elements 20, 22, 24, 26, 28 are coupled via a communication bus 25.

The processor 20 is a hardware device configured to implement software instructions, such as a CPU (Central Processing Unit), a semi-conductor microprocessor (in the form of a microchip or a chipset), or more generally any device for executing software instructions. When the system 10 is in operation, the processor 20 is configured to execute software stored in memory 22.

The data store 28 is for example a non-transitory storage medium, such as an optical disk, a magneto-optical disk, any type of non-volatile memory (e.g. EPROM, EEPROM, FLASH, NVRAM), a magnetic card or and optical card. For example, the data store has an Apache Kafka® architecture for CDRs and SQL databases for storing first and second sets of rules of business logic configuration.

In an alternative embodiment, the data store 28 may be located on an external server (non represented).

The electronic memory 22 may include any of volatile memory elements, such as random access memory RAM, DRAM, SRAM, SDRAM, non-volatile memory elements such as ROM, (e.g. EPROM, EEPROM, FLASH, NVRAM), a magnetic card or and optical card. Memory 22 may have a distributed architecture, where various components are situated remotely from one another, but can be accessed by processor 20.

The processor 20 is configured to run:

a module 30 for obtaining distributions of data on several dimensions of the network system linked to each event,

a module 32 for automatically determining a single event diagnosis, comprising at least one element of said distributions, an element being a value taken by a network dimension having a contribution within the distribution(s) on said dimension, using a first set of rules 36 of business logic configuration and machine learning clustering,

a module 34 for determining a group root-cause diagnosis for at least two distinct events, from the single event diagnosis determined for each of the events, using a second set of rules (also called relationships) 38 of business logic configuration.

Examples of embodiments of the modules 30, 32, 34 will be given below.

The first set of rules 36 and the second set of rules 38 are recorded in data store 28. Alternatively, the first of rules 36 and the second set of rules 38 are recorded in memory 22.

The first set of rules 36 of business logic configuration comprises rules which are organized hierarchically, and can be represented as a tree structure.

The second set of rules 38 of business logic defines relationships between events, as explained in further detail hereafter.

According to an embodiment, the first and second set of rules are pre-recorded.

Alternatively, some of the rules of the sets of rules are dynamically updated.

According to an embodiment, for the first set of rules 36, an initial tree structure is provided with the help of a user, via the I/O interface 26, and some other parameters of the rules are computed automatically (in other terms, auto-tuned) and updated dynamically.

According to an embodiment, the modules 30, 32, 34 are implemented as one or several software programs, which are executed by the processor 20. Advantageously, the modules 30, 32, 34 implement a method for automatically determining root-cause diagnosis of events occurring during the operation of a telecommunication network.

In an alternative embodiment, each of the modules 30, 32, 34 is implemented by a FPGA (Field Programmable Gate Array), or a dedicated integrated circuit such as an ASIC (Applications Specific Integrated Circuit).

FIG. 4 is a flowchart of a method 50 for determining root-cause diagnosis of events occurring during the operation of a telecommunication network according to an embodiment.

The method 50 comprises a step 52 of monitoring the occurrence of events in the network operation. As explained above, a time signal representative of a given aspect of the network operation, computed from the data 4 representative of the operation of the network on successive time units, is monitored. An ‘event’ occurs when the time signal exceeds an anomaly threshold value for a given duration, which is the duration of the event.

The duration of the event, and the time signal representative of the event are obtained.

The method 50 further comprises a first processing phase of 54 of determining an single event diagnosis for each detected event, and a second processing phase 56 of determining group root-cause diagnosis for groups of correlated events, when applicable, using the results of the first phase. A group of correlated events may be composed of a single event if it has no relationship or correlation with other events.

The first processing phase 54 comprises the following steps, for each detected event of given duration.

The first phase processing 54 comprises a step 58 of obtaining, from the received data representative of the network operation, distributions of data on several dimensions of the network system linked to the event, the distributions being computed during the duration of the event.

The term dimension designates different types of information that characterize the operation of the network, either related to hardware or software, for example information on network topology, types of devices, technology implemented, services, network parameters, types of alarms or errors, performance monitoring features. The dimension is related to a metric, for example, in the case of mobile telephony networks, voice metrics, roaming metrics, user plane metrics, control plane metrics, access and mobility metrics, active testing metrics.

For example, in the case of mobile telephony networks, the dimensions include 3GPP causes, cells, RAN and Core controllers, handset types, services, IP addresses etc.

The term distribution designates the statistics of occurrence of data values of the considered dimensions, during the event duration, associated to the event.

For example, if the event considered is an excessive number of “Call setup failure”, the CDRs which indicate a “Call setup failure”, during the event duration, are the CDRs associated to the event. The distributions on the different dimensions are computed from those CDRs which indicate a “Call setup failure”.

Each distribution may comprise one or several values, depending on the nature of the associated dimension. For example, in the ‘3GPP’ Causes' dimension, a number of 3GPP cause codes, which are defined by a standard, are the possible values within the associated distribution. A value of a dimension, which occurs in the distribution associated to the dimension during the event is called an “element of the distribution” in the following description. Such an element, also called contributor element, is said to contribute to the distribution.

FIG. 5 illustrates schematically an example of several distributions on several dimensions which are respectively, in the example: Handset type, subscriber operator, Core controller, RAN Controller, Cell, 3 GPP cause and 3GPP cause category. Each distribution on a dimension is represented by a bar, the contributions of various elements of the dimension being represented by chunks with different visual characteristics, i.e. different fill-in patterns. In the example of FIG. 5, several elements (types of handset) contribute to the distribution associated to “handset type” dimension, whereas one single element (operator) contributes to the distribution associated to the dimension “Subscriber operator”. Furthermore, 2 elements contribute to the distribution on dimension Core Controller : SGSN (Serving GPRS Support Node) 172, SGSN 171, SGSN 1326. The RAN controller dimension distributor comprises one element, RNC 515. The “Cell” dimension distribution comprises a number of different elements which are not detailed. The 3GPP cause comprises several element, a major contributor being the element “RNL (Radio Network Layer)—Radio connection with UE lost’, the 3GPP cause category element being “RNS (Radio Network Subsystem) failure”.

The method further comprises a step 60 of determining elements, either a single element or a group of elements, occurring in the distributions linked to the event, which are considered to major contributors to the occurrence of the event. This determination uses a first set of rules of business logic configuration and machine learning clustering. An implementation of step 60 will be detailed hereafter with respect to FIG. 6.

The method 50 further comprises, if one or several elements considered major contributors are determined at step 60, a further step 62 of computing the event single diagnosis based on the major contributor elements. The computing of the single event diagnosis is directly based on the output of step 60, given that the elements or groups of elements have are labeled with associated labels, as explained in further detail below.

Finally, the single event diagnosis is recorded at recording step 64.

The steps 58 to 64 are repeated for each event detected, either sequentially or in parallel, depending on the number of processors available.

FIG. 6 is a flowchart of an embodiment of the determining 60 of elements which are major contributor elements within the distributions associated to an event, and are therefore considered as major contributors to the event.

Advantageously, business logic configuration and machine learning are combined.

The method 60 comprises a selection step 70 of selecting a first set of rules of business logic configuration, in association with the event, to apply in a given order, each rule defining a test to apply to the distribution associated to a dimension in order to identify one or several elements as major contributors to the event.

Each first set of rules has a hierarchy defining the order of testing the rules, and can be expressed in the form of a rule tree, starting with a root rule to test. The root rule has one or several children nodes, each node being associated to a rule to test. Final nodes (also called tree leaves) define final rules to test. Several levels of depths, which may be conditional to a result obtained at a higher level, may be defined.

In particular the rules designate the dimensions to consider, and tests on associated distributions. For the elements to be tested, a contribution ratio is computed, and the contribution ratio is a parameter to be tested according to each rule defined.

The contribution ratio of an element contributing to a distribution, is equal to the percentage of presence of the element within the distribution during the event duration.

For example, if a distribution D_(X) comprises statistics (number of occurrences) of each of the following elements {E₁, E_(j), . . . , E_(P)} of the corresponding dimension, during X periods of time, the absolute contribution ratio of element E_(j) to the distribution D_(X) is given by:

$\begin{matrix} {{C{R\left( E_{j} \right)}} = \frac{\sum_{i = 1}^{X}{N_{i}\left( E_{j} \right)}}{\sum_{i = 1}^{X}{\sum_{k = 1}^{P}{N_{i}\left( E_{k} \right)}}}} & \left\lbrack {{MATH}\mspace{14mu} 1} \right\rbrack \end{matrix}$

Where N_(i)(E_(j)) is the number of occurrences of value E_(j) during the i^(th) period of time within the distribution D_(X).

In other terms, the absolute contribution ratio of an element E_(j) is equal to the sum of the number of occurrences of E_(j) during the event duration divided by the total amount of occurrences of all elements of the distribution.

Clearly, the formula [MATH 1] can be easily extended to compute the absolute contribution ratio of a group formed by several elements.

For example, considering a group formed by the two elements E_(m) and E_(n), the absolute contribution ratio of the group is given by:

$\begin{matrix} {{C{R\left( {E_{m},E_{n}} \right)}} = \frac{\sum_{i = 1}^{X}\left( {{N_{i}\left( E_{m} \right)} + \left( {N_{i}\left( E_{n} \right)} \right)} \right.}{\sum_{i = 1}^{X}{\sum_{k = 1}^{P}{N_{i}\left( E_{k} \right)}}}} & \left\lbrack {{MATH}\mspace{14mu} 2} \right\rbrack \end{matrix}$

It is to be noted that the absolute contribution ratio of all elements that occur in the distribution D_(X) according to formula [MATH 1] is equal to 1.

Furthermore, a relative contribution ratio is defined, to compare the absolute contribution of a first element or of a group of elements G₁ to the absolute contribution of a second element of group of elements G₂:

$\begin{matrix} {{RC{R\left( {G_{1},G_{2}} \right)}} = \frac{C{R\left( G_{1} \right)}}{C{R\left( G_{2} \right)}}} & \left\lbrack {{MATH}\mspace{11mu} 3} \right\rbrack \end{matrix}$

The rule tree is parsed, and for each current rule to test (step 72), the absolute contribution ratio of each element mentioned in the rule is computed at contribution ratio computation step 74.

A test 76 is applied to detect whether the test defined by the rule is to be applied to a single element or to a plurality of elements (two or more elements) of one or several distributions.

If a single element is subject of the rule, test step 76 is followed by step 78 of searching for an element satisfying the rule.

If the rule implicates determining two or more elements, test step 76 is followed by step 80 of applying a machine learning algorithm for determining a group of elements satisfying the rule. For example, K-means classification is applied to determine a group of elements which has a contribution ratio that satisfies the conditions imposed by the rule which comprise : a maximum number of elements, a minimal absolute contribution ratio. When searching for a group of elements, a minimal relative contribution ratio of the selected group of elements, relative to the complementary group of non-selected elements, is indicated by the rule.

The aim of the clustering is to select the most accurately relevant group of elements which satisfy the rule limitations, based on the absolute contribution ratios of all elements contributing to the distribution, which are provided as inputs to the clustering algorithm.

According to an embodiment, the absolute contribution ratio for each element is input, and a K-means clustering is applied to create two clusters. The absolute contribution ratio value for the center of each cluster is computed. The relative contribution ratio of the clusters is computed from the 2 cluster centers absolute contribution ratios and compared to the minimal relative contribution ratio expected by the rule. If the test succeed, meaning that the centers are far enough in terms of contribution, then the highest contribution cluster elements are kept as a group of elements of major contribution, if the absolute contribution ratio of this group of elements exceeds the minimal absolute contribution ratio expected by the rule.

It is envisaged to apply different tuning parameters to the K-means clustering in order to optimize the selection, for example in order to obtain the highest contribution ratio.

As an alternative, other machine learning unsupervised classification algorithms may be applied, such as for example Mean-shift or DBSCAN (for “Density-based Spatial clustering for applications with noise”).

In some particular cases, no group of elements satisfying the rule is obtained. The failure to find a group of elements satisfying the rule is recorded. Furthermore, at least some of the rules of the first set of rules define an “output type”, the output being labeled “Cause” or “Intermediate result” or “Final result”, meaning that if a result (element or group of elements) satisfying the rule has been found, the result should be recorded and labeled according to the corresponding output type.

Both step 78 or 80 are followed by a step 82 of checking whether one element or a group of elements satisfying the rule tested have been found.

In case of positive answer, if the rule tested specifies an “output type”, the element or groups of elements satisfying the rule are then recorded (step 84) along with the corresponding “output type” label.

Unless the output of the rule is a “final result”, if there are still rules to be parsed according to the rule tree, a next rule to apply is selected and steps 72 to 84 are iterated.

If at the end of the iteration, no final result is found, the “intermediate results” (“intermediate” or “cause” type) are stored as a partial result.

A simplified example of rule tree is shown in FIG. 7, comprising a root rule A, and two children rules B and C.

For the sake of explanation, a simple example is given. The event considered is “Call setup failure”.

Rule A is defined as follows:

Dimension type: ‘3 GPP Causes’

Parent rule: none

Maximum number of elements to select: 1

Minimum absolute contribution ratio: 60%

Output type: cause

In other terms, rule A indicates to search for an element E of “3 GPP Causes” with an absolute contribution ratio at least equal to 60%, or in other terms CR(E)=0.6 according to formula [MATH 1] within the distributions of dimension “3 GPP Causes” recorded for the event “Call Setup Failure”.

As the rule A indicates a single element, step 78 of the method described with respect to FIG. 6 is applied.

If such an element is found, the element is stored as an intermediate result and labelled as a “cause”.

If root rule A is satisfied, rule A is followed by rule B.

Rule B is defined as follows:

Dimension type: ‘Cells’

Parent rule: A

Condition on ancestor's rule results: rule A provided an output element E=‘RAN’

Maximum number of elements to select: 12

Minimum absolute contribution ratio: 20%

Minimum Relative contribution ratio: 3

Evaluation order: 1

Output type: Final Result

In other terms, rule B is the first rule among the rules which are direct children to the root rule A to evaluate, because the parameter “evaluation order” is equal to 1. Rule B indicates that if the 3 GPP cause contributing with an absolute contribution ratio of 60% is ‘RAN’ (radio access network), search for a group of cells (several elements, each element being a cell identifier), the group having an absolute contribution ratio at least equal to 20%, and a relative contribution ratio at least equal to 3. In other terms, the groups of cells found has to be 3 times more representative than the remaining cells. If such a group of cells is found as an output, this output is stored as a “final result”. The processing of the rule tree stops.

As the rule B indicates a group of elements, step 80 of the method described with respect to FIG. 6 is applied.

Further, if no output is provided when applying rule B, if no group of cells satisfying the conditions imposed by rule B is found, the rule C is applied.

Rule C is defined as follows:

Dimension type: ‘Core Controller’

Parent rule: A

Condition on ancestor's rule results: rule A provided an output element E=‘Core’

Maximum number of elements to select: 2

Minimum absolute contribution ratio: 70%

Minimum Relative contribution ratio: 2

Evaluation order: 2

Output type: Final Result

Rule C is on the same level as rule B, and has an evaluation order equal to 2. Rule C indicates that if the 3 GPP cause contributing with a contribution ratio of 60% is ‘Core’, search for a group of two RAN Core controllers, the group having an absolute contribution ratio at least equal to 70%, and a relative contribution ratio at least equal to 2. If such a group of RAN core controllers is found as an output, this output is stored as a “final result”. The processing of the rule tree stops.

A second example of first set of rules is given below. This set of rules will search for RAN issues, taking into account specific cases of mobile issues out of network issues. Network issues are searched at cell level first, than at RAN controller in the same conditions.

Root: RULE:A: ROOT CAUSE: [output type: CAUSE , Min Absolute ratio: 60%, 1 element]

-   -   RULE B (evaluation order=1) ROOT CAUSE CATEGORY [CONDITION ON         (ROOT CAUSE) NOT IN (No Answer, Unknow Mobile) , output type:         INTERMEDIATE , Min Absolute ratio: 60%, 1 element]         -   RULE C (evaluation order=1), the condition is ROOT_CAUSE             CATEGORY=RAN; CELL [CONDITION ON (ROOT CATEGORY=RAN) ,             output type: FINAL , Min Absolute ratio: 30%, 10 elements,             Min relative ratio=4]         -   RULE D (evaluation order 2), RAN controller [CONDITION ON             (ROOT CATEGORY=RAN) , output type: FINAL , Min Absolute             ratio: 60%, 2 elements, Min relative ratio=4]     -   RULE E (evaluation order 2) HANDSET TYPE: [CONDITION ON (ROOT         CAUSE) IN (No Answer, Unknow Mobile) output type: FINAL, Min         Absolute ratio: 60%, 1 element]

For this rule, B and E are at same level, and C and D are at the same level.

The rule tree corresponding to the above detailed second example of first set of rules is illustrated in FIG. 8. As can be seen, the result of the test of rule A is stored as an intermediate result of the type “cause”, and the result of the test of rule B is also stored as an intermediate result.

A final result is obtained if a result satisfying rule E is found, or if a result satisfying rule C is found, or if a result satisfying rule D is found. In this example, rules C and D have the same condition, meaning that first it is expected to find a group of cells, and, if not found, a group of RAN controllers, going from specific to more generic. In some cases, no final result is found, for example if no element satisfying rule B and no element satisfying E is found, or if a result is found for rule B (which is an intermediate result), and further, no groups of elements satisfying rule C or rule D are found.

As can be understood from these simplified examples, an intermediate output may provide the cause of the anomaly observed (event), and a final result output may provide the subject of the anomaly, for example the network equipment related to the event.

It is also to be understood that the examples given are in no way limitative, any number of levels of rules to be checked, or number of rules per level may be considered.

Advantageously, the rule tree is defined by an expert of the domain, for example an expert of the mobile telephony network, so that the rule testing is optimal in terms of expected output.

Advantageously, the use of machine learning algorithms allows the efficient selection of groups of elements, satisfying multiple conditions on the absolute and relative contribution ratios. In particular, the clustering method, and the use of the relative contribution ratio of the cluster centers allows selection of most accurate groups of elements.

The output of step 60 of the method, as explained before is an element or a group of elements which are considered major contributors to the detected event.

Furthermore, these elements or groups of elements provided as output are labeled either as “cause”, “final result” or “intermediate result”. These elements providing the cause and subject of the event form the single event diagnosis, which, as already explained, is considered to be a root-cause diagnosis for the single event.

As explained above, with reference to FIG. 4, the method 50 for determining root cause diagnosis for events detected in a telecommunication network further has a second processing phase 56 of determining group root-cause diagnosis for groups of correlated events, when applicable, using the results of the first phase.

It is to be noted that the second processing phase takes as an input single event diagnosis provided by any type of single event diagnosis method.

In the embodiment of FIG. 4, the second processing phase 56 is applied after the first phase 54 processing of each event individually.

Indeed, it is particularly useful for a final user to receive root-cause diagnosis for groups of correlated events, since in practice, a main difficulty in a supervision system is to prioritize and process a large number of events. Furthermore, a graphical user interface is provided to present the root-cause diagnosis of a group of events, in a simplified manner, easy to understand, avoiding an overflow of information. However, if the user needs further information, the possibility is provided to access to the single event diagnosis of the events forming the group of events, and information related to the correlation between events.

According to a first embodiment, the second phase 56 comprises a computation 90 of mathematical correlation for pairs of events (or cases) which occur at the same time, even though they might have different durations. As will be explained in further detail below, the process is iterative: initially the groups of events are formed by pairs of events, and they iteratively grow by fusion with other events or groups of events.

For a given pair of events, the mathematical correlation of the time signals associated to each event is computed on the common temporal window. Preferably, the Pearson correlation score is computed.

The absolute value of the correlation score, e.g. the Pearson correlation score, obtained for a given pair of events is compared (step 92) to a predetermined correlation threshold, for example equal to 0.8.

If the absolute value of the correlation score is higher than the predetermined correlation threshold, it is proceeded with applying (step 94) a second set of rules of business logic configuration, to determine a business logic relationship between the events of the pair.

The types of business logic relationships are the following: {equivalent, cause, forbidden}.

The relationship “equivalent” means that the two events correspond to a same level of issue, and therefore the root-cause of the group formed by the two events, called group root-cause, is a mixture between the single event diagnosis causes of each of the events, resulting from the first phase of auto-diagnosis.

The relationship “cause” means that a first event of the pair of events is the cause of the second event, i.e. the other event of the pair of events. The consequence is that the single event diagnosis of the first event becomes the group root-cause.

The relationship “forbidden” means that, in spite of the mathematical correlation, some actual characteristic of the network, for example the network topology, makes impossible an actual correlation, in terms of root-causes, of the events of the pair of events. The “forbidden” relationship can break the correlation of events into a group, and therefore the user interface, e.g. the display, is modified accordingly. For example, a corresponding information indicating a “broken” correlation is provided to the user.

The second set of rules of business logic is provided also by an expert of the network, and comprises tests based on one or several characteristics of the events in relation to the characteristics of the network, including:

nature of the type of events, such as for example, in the case of mobile telephony networks, ‘radio setup failure’, ‘call drop’, ‘call reject’ or “call setup failure”,

dimension values in common between 2 events, for example a same ‘RAT’ value,

single event diagnosis of the events considered,

topology characteristics, for example the two events have two distinct RAN controllers with a direct topology Link.

For example, considering a pair of events (Event1, Event2), a second set of rules is: “if Event1 is “Credit control failure”, the dimension ‘RAT’ has the same value for both events, and Event2 is one of (Attach Failures, Dedicated Bearer Failures) with a single diagnosis value “CN failure””. If this second set of rules is verified, the relationship between the events is a “cause” relationship, Event1 causes Event2.

It is to be noted for some pairs of events, no relationship result is found by applying the second set of rules of business logic, so that the correlation is not forbidden, but the characteristics of the events do not allow to conclude to a “cause” or “equivalent” relationship according to the preset rules.

Following step 94, if a relationship of “cause” or “equivalent” has been found, then a group root-cause is computed and attributed to the group of events at following step 96.

If no relationship of type “cause” or “equivalent” or “forbidden” is found, according to an embodiment, the events are not considered correlated.

According to an alternative, if no relationship is found, the mathematical correlation result is trusted, since the computed correlation score is above the predetermined correlation threshold, and the events are considered correlated. In this alternative mode, in order to determine the root-cause diagnosis, the correlation is recorded, and the process waits for other events/groups further correlations, that could reveal relationships. Only at the end of process, an analysis is applied in order to determine if all events have a direct or an indirect relationship within the group. If cause or equivalence relationships are found in the group of events, the highest cause as root-cause diagnosis of the group. The highest cause refers to the single event diagnosis which for an event which is cause of other events, but is not caused by any other event. Otherwise, the root-cause diagnosis is not provided, simply the single event diagnosis of the events of the group are provided.

Advantageously, according to a variant, the steps 90-96 are iterated to further consider groups of more than two events and determine group root-causes for combined groups of events.

Furthermore, if an event belongs to a group of events for which root-cause has already been determined, the processing is modified to take into account the previous grouping of events as follows.

For example, considering the following notations: EV(X) is a single event, G[X,Y] is a group of two events EV(X) and EV(Y), DIAG_EV(X) is the single event diagnosis for event EV(X) and DIAG_G[X,Y] is the root-cause diagnosis for the group G[X, Y].

For the sake of the example, we consider four independent events EV(1), EV(2), EV(3) and EV(4), and we consider that a common group root-cause diagnosis has already been found between EV(1) and EV(2), which form a group of correlated events, the group root cause diagnosis being the single event diagnosis of event EV(1) (i.e. in other terms “EV(1) causes EV(2)”).

During the step 90 of computation of mathematical correlation by pairs, the correlation between pairs of events are computed, except the pair EV(1), EV(2), which are already grouped.

For example, the following Pearson correlation scores are obtained:

CorrScore(EV(3), EV(4))=−0.85

CorrScore(EV(1), EV(3))=−0.9

CorrScore(EV(2), EV(3))=−0.75

CorrScore(EV(1), EV(4))=0.6

CorrScore(EV(2), EV(4))=0.4

If the correlation score threshold is equal to 0.8, then only the pairs (EV(3), EV(4)) and (EV(1), EV(3)) are retained.

The pair (EV(3), EV(4)) is then analyzed according to the second set of rules of business logic, based on the characteristics of the events as mentioned above. For example, the events EV(3) and EV(4) match an equivalence relationship: “EV(3) is equivalent to EV(4)”. Therefore, a group of events G[3,4] can be formed, which has a root-cause diagnosis which is formed by mixing the single event diagnosis of both events EV(3) and EV(4).

This can be written as: DIAG_G[3,4]=MIX[DIAG_EV(3), DIAG_EV(4)]

According to an embodiment, mixing two diagnosis consists in combining the two diagnosis results, but avoid repetitions of elements if the combination contains the same results.

For example:

-   -   DIAG_EV(3): root-cause A, final results: cell A, cell B     -   DIAG_EV(4): root-cause B, final results: cell A, cell C     -   Then MIX[DIAG_EV(3), DIAG_EV(4)]: root-causes: A, B for cells A,         B, C.

An analysis according to the second set of rules of business logic, based on the characteristics of the events is also applied to the pair (EV(1), EV(3)).

Furthermore, given that EV(1) belongs to the group G[1,2] and EV(3) belongs to the group G[3,4], according to an embodiment the analysis according to the second set of rules of business logic is applied to all possible combinations of pairs events between the two groups, even though the correlation score of the pairs is not higher than the predetermined correlation threshold. The analysis step is then applied to all following pairs of events:

-   -   (EV(1), EV(3); (EV(1), EV(4)); (EV(2), EV(3)); (EV(2), EV(4))

If any of these pairs of events matches a “forbidden” type relationship, then the groups G[1,2] and G[3,4] shall not be correlated, they remain separate, each group having its group root-cause diagnosis.

If none of the pair of events matches a “forbidden” relationship, then, according to an embodiment, the two groups are merged into a group of four elements G[1,2,3,4] which has a group root cause diagnosis computed according to the relationships (“cause” or “equivalent”) found between the pairs of events of the merged group.

For example, if EV(1) causes EV(3) or causes EV(4), then the group root-cause diagnosis for the group G[1,2,3,4] is simply the single event diagnosis of EV(1), as illustrated in FIG. 9.

In other cases, if the “equivalent” relationship is found, a mixed group root-cause diagnosis is computed.

FIG. 9 shows a table illustrating all possible root-causes diagnosis for the above described example, according to the relationships between events.

In all scenarios, this information is very useful for an operator, as it greatly simplifies the troubleshooting.

According to a second embodiment, the second phase 56 comprises a computation of mathematical correlation for pairs of events (or cases) which occur at the same time, even though they might have different durations.

In this second embodiment, firstly, the correlated events are grouped together in a provisional group of events, and then a second set of rules of business logic is applied to split the provisional group of events into subgroups having their own relationships and a common root case diagnosis.

Then independent subgroups are created by gathering events which have hierarchical dependency. In practice, a default (also called “trash”) subgroup may remain if no hierarchical relationship is found between some events which are mathematically correlated.

Analogously to the first embodiment, the types of business logic relationships are, in this second embodiment: {equivalent, cause}.

The second set of rules of business logic is provided also by an expert of the network, and comprises tests based on one or several characteristics of the events in relation to the characteristics of the network, including:

nature of the type of events, such as for example, in the case of mobile telephony networks, ‘radio setup failure’, ‘call drop’, ‘call reject’ or “call setup failure”

dimension values in common between 2 events, for example a same ‘RAT’ value

single event diagnosis of the events considered

topology relationships.

The topology relationships are a specific type of relationships, related to the topology of network elements. The topology information is provided by network operators. For example, RAN controllers are network elements and have associated topology.

The network topology may be represented in the form of graphs, formed of nodes, reflecting network elements, which are linked according to specific dimension values related to those network elements. The nodes of the network topology are either elements of the network or hidden infrastructure elements such as switches.

For example, in a telecommunications network, nodes can have different natures such as MME (for “Mobile Management Entity”), HSS (for “Home Subscriber Service”), SGSN (for “Serving GPRS Support Node”), eNodeB, switches, routers etc. Those elements are named in CDRs and seen as diagnosis values for dimensions reflecting network elements.

We consider topology elements which are nodes or links. A link between nodes can also be considered as root cause diagnosis of a group.

Advantageously, this second embodiment allows to point out network or hidden topology elements as root cause diagnosis of groups of events. In particular, the processing applied aims to seeking common paths within topology elements involved in events (or cases) to point out root cause diagnosis of a group of events.

In a simplified example of topology, a given node HSS1 is linked to two different MME nodes, respectively MME1 and MME2. For example MME1 is topologically linked to two eNodeB nodes, respectively eNodeB1 and eNodeB2, which are also linked according to the dimension “RAN controller”, while MME2 is topologically linked to two eNodeB nodes, respectively eNodeB3 and eNodeB4. It is understood that such a graph of topology is particularly simplified, since in actual telecommunication networks, the graphs are far more complex.

Related to this simplified example of topology, considering two correlated events, if one of the events has ‘eNodeB1’ as diagnosis for the dimension ‘RAN controller’, and the other event has ‘eNodeB2’ as diagnosis value for the dimension ‘RAN Controller’, then according to the topology relationship, they form a subgroup of correlated events linked to MME1.

FIG. 10 is a flowchart illustrating a second embodiment of the second phase 56 of the method for determining root-cause diagnosis of events occurring during the operation of a communication network.

This second embodiment comprises a first step 100 of forming a provisional group of events is formed of mathematically correlated events. For a given pair of events, the mathematical correlation of the time signals associated to each event is computed on the common temporal window. Preferably, the Pearson correlation score is computed. The absolute value of the correlation score, e.g. the Pearson correlation score, obtained for a given pair of events is compared to a predetermined correlation threshold, for example equal to 0.8.

If the absolute value of the correlation score is higher than the predetermined correlation threshold, the events are added to the provisional group of events.

Next in a step 102 all single event diagnosis values linked to network dimension values within the mathematically correlated group are retrieved, and the topological mapping for all those network dimensions are retrieved (step 104).

For each topology element associated to those network dimensions, a statistical computation step 106 is applied to find out which topology element(s) is (are) the most related to the network elements retrieved according to the topological mapping. Each node and link has a counter of associated events. The goal is to create subgroups of events (or cases) having a common node or link, according to the network topology.

For a given group of events, the retrieved topology element (node or link) which has the highest contribution ratio is retrieved at step 108. The contribution ratio is computed as follows:

$\begin{matrix} {{{Contrib}\left( {elt} \right)} = {\left( \frac{{N\_ EV}\left( {Elt} \right)}{N\_ EVg} \right)^{2} \times \frac{{N\_ path}\left( {Elt} \right)}{{N\_ path}{\_ g}}}} & \left\lbrack {{MATH}\mspace{14mu} 4} \right\rbrack \end{matrix}$

Where N _EV (Elt) is the total number of events using the considered topology element Elt, N _EVg is the number of events in the group, N_path(Elt) is the number of paths for the topology element Elt and N_path_g is the total number of paths in the group.

If the contribution ratio computed is higher than a predetermined ratio threshold Ratio_TH, the topology element is stored as common element of the group in registering step 110. For example, the ratio threshold Ratio_TH is equal to 20%.

Otherwise, steps 102 to 108 are repeated for another network dimension.

Then a filtering step 112 is applied to remove all events which are not related to the registered topology element, and the subgroup of events containing all events related to the registered network element is recorded at step 114. There could be no topology element matching the conditions (no topology relationship). The topology element associated to the subgroup becomes part of this sub-group auto-diagnosis result (a switch can be for example an auto-diagnosis result element).

The steps 102 to 114 are iterated for the remaining events, so as to obtain subgroups of events related to other topology elements. For each subgroup, a common root-cause diagnosis is computed based on the associated topology element retrieved of the subgroup.

Finally, if there are any remaining event for which no relationship (ie no common network element) has been found, these events are put (step 116) in a default subgroup.

FIG. 11 illustrates an example of root-cause diagnosis resulting from an analysis according to the second embodiment described. In this example, six eNodeB elements, referenced respectively eNodeB1 to eNodeB6 and four switches referenced Switch1 to Switch4 are considered. The architecture is shown in FIG. 11: nodes eNodeB1, eNodeB4 and eNodeB5 are connected to Switch1, nodes eNodeB2 and eNodeB6 are connected to Switch3, and eNodeB3 is connected to Switch4. Furthermore, in the network architecture, both switches Switch1 and Switch3 are connected to Switch2.

In a scenario, we consider three events, EV(1), EV(2) and EV(3) (not shown in FIG. 11), which are mathematically correlated, which have respectively the following diagnosis:

-   -   EV(1): single event diagnosis eNodeB1     -   EV(2): single event diagnosis eNodeB2     -   EV(3): single event diagnosis eNodeB3

When applying the topology rule based on the single event diagnosis of these three events, ten nodes consisting of the six eNodeBs and the four switches are retrieved. The analysis of topology elements (i.e. common paths) will select the network element Switch2 as common diagnosis for EV(1) and EV(2). Therefore, these two events EV(1), EV(2) are gathered in a subgroup. The event EV(3) is kept separate from this subgroup, since eNodeB3 is connected to Switch4, which is not connected to Switch2. In other terms, no topological relationships with the topology elements related to the subgroup are found.

Advantageously, the invention provides automated root-cause diagnosis, for independent events and for groups of events. Consequently, the investigation and prioritization of the events is largely simplified.

Advantageously, the percentage of error on the automated root-cause diagnosis is close to zero thanks to the use of a first set of rules of business logic configuration to determine event root-causes and of a second set of rules of business logic configuration to determine group root-causes.

It will be appreciated that some embodiments described herein may include or utilize one or more generic or specialized processors (“one or more processors”) such as microprocessors; Central Processing Units (CPUs); Digital Signal Processors (DSPs): customized processors such as Network Processors (NPs) or Network Processing Units (NPUs), Graphics Processing Units (GPUs), or the like; Field-Programmable Gate Arrays (FPGAs); and the like along with unique stored program instructions (including both software and firmware) for control thereof to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the methods and/or systems described herein. Alternatively, some or all functions may be implemented by a state machine that has no stored program instructions, or in one or more Application-Specific Integrated Circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic or circuitry. Of course, a combination of the aforementioned approaches may be used. For some of the embodiments described herein, a corresponding device in hardware and optionally with software, firmware, and a combination thereof can be referred to as “circuitry configured to,” “logic configured to,” etc. perform a set of operations, steps, methods, processes, algorithms, functions, techniques, etc. on digital and/or analog signals as described herein for the various embodiments.

Moreover, some embodiments may include a non-transitory computer-readable medium having instructions stored thereon for programming a computer, server, appliance, device, one or more processors, circuit, etc. to perform functions as described and claimed herein. Examples of such non-transitory computer-readable medium include, but are not limited to, a hard disk, an optical storage device, a magnetic storage device, a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), Flash memory, and the like. When stored in the non-transitory computer-readable medium, software can include instructions executable by one or more processors (e.g., any type of programmable circuitry or logic) that, in response to such execution, cause the one or more processors to perform a set of operations, steps, methods, processes, algorithms, functions, techniques, etc. as described herein for the various embodiments.

Although the present disclosure has been illustrated and described herein with reference to preferred embodiments and specific examples thereof, it will be readily apparent to those of ordinary skill in the art that other embodiments and examples may perform similar functions and/or achieve like results. All such equivalent embodiments and examples are within the spirit and scope of the present disclosure, are contemplated thereby, and are intended to be covered by the following claims. 

What is claimed is:
 1. A method for determining root-cause diagnosis of events occurring during the operation of a communication network, implemented by a processor of a programmable device, comprising: monitoring time signals representative of the operation of the network to detect the occurrence of an event relative to the network traffic, for each detected event, during the duration of said event: obtaining distributions of data on several dimensions of the network linked to said event, automatically determining an event root-cause diagnosis of the detected event, called single event diagnosis, comprising at least one element of said distributions, an element being a value taken by a network dimension having a contribution in said distributions of data, the single event diagnosis determination using a first set of rules of business logic configuration organized hierarchically, which are applied according to said hierarchy to select at least one element of said distributions, the selection of more than one element comprising machine learning clustering.
 2. The method according to claim 1, further comprising determining a root-cause diagnosis for a group of at least two distinct events, from the single event diagnosis determined for each of the events of the group of events, based on a computation of a mathematical correlation between time signals related to said events, and applying a second set of rules of business logic configuration.
 3. The method according to claim 1, wherein the single event diagnosis determination further comprises, for a detected event, obtaining the first set of rules of business logic configuration in association with the event, each rule defining a dimension and a test to apply to at least one element of the distributions associated to said dimension in order to select one or several elements as major contributors to the event.
 4. The method according to claim 3, wherein a rule of the first set of rules of business logic configuration further indicates, a maximum number of elements to select, a minimum absolute contribution ratio.
 5. The method according to claim 4, further comprising, for at least one element of the dimension indicated in the rule, computing an absolute contribution ratio of said element, the absolute contribution ratio being equal to a percentage of occurrence of the element within the distributions linked to said event, during the event duration.
 6. The method according to claim 4, further comprising, for selecting a group of several elements, applying a machine learning clustering on distributions of the elements of the dimension indicated in the rule, based on the absolute contribution ratio of each element to the distributions linked to said event, during the event duration, in order to obtain a group of elements having an absolute contribution ratio higher than the minimum absolute contribution ratio.
 7. The method according to claim 6, wherein a rule further comprises, if the maximum number of elements to select is at least equal to two, a minimum relative contribution ratio, and wherein the machine learning clustering applies a clustering into two clusters, the method further comprising: computing a relative contribution ratio as a ratio between the absolute contribution ratios of the cluster centers; and comparing the relative contribution ratio to the minimum contribution ratio defined by the rule to select the cluster with a higher contribution according to the rule.
 8. The method according to claim 3, wherein the first set of rules of business logic configuration is organized hierarchically in the form of a rule tree, and wherein at least some rules indicate a type of output among “cause”, “intermediate result” and “final result”, the method comprising parsing the rule tree to obtain the intermediate and/or final results, and, for each event, the single event diagnosis is computed from the intermediate and final results obtained.
 9. The method according to claim 2, wherein the determining of a group root-cause diagnosis (56) for at least two distinct events comprises, for at least a pair of distinct events having a mathematical correlation score higher than a predetermined correlation threshold, applying the second set of rules of business logic configuration to determine whether the events of the pair of events match a relationship of “cause” or “equivalence” or whether the business logic correlation is “forbidden”.
 10. The method according to claim 9, wherein if the events of the pair of events match a relationship of “cause” or “equivalence”, the events are grouped and a group root-cause is computed in function of the relationship and of the single event diagnosis of each event of the pair of events.
 11. The method according to claim 9, wherein the second set of rules of business logic configuration defines, for a pair of events, rules on characteristics of said events, comprising dimension values in common, nature of events, network topology and single event diagnosis.
 12. The method according to claim 10, comprising iteratively processing groups of events to determine a root-cause diagnosis, wherein two groups of events are merged into a larger group based on applying the second set of rules of business logic configuration on pairs of events of the two groups, a root-cause relationship being determined in function of the relationships of the pairs of events.
 13. The method according to claim 2, wherein the determining of a group root-cause diagnosis, for at least two distinct events comprises, for at least a pair of distinct events having a mathematical correlation score higher than a predetermined correlation threshold, grouping said events in a provisional group of events and applying the second set of rules of business logic configuration to determine subgroups of events which have a common root-cause diagnosis.
 14. The method according to claim 13, wherein subgroups of events of the provisional group of events are determined based on topology relationships of network elements related to network dimensions associated to single event diagnosis of events.
 15. The method according to claim 14, wherein said topology relationships include topology elements selected through a computation of a contribution ratio of each node or path common to network elements found in single event diagnosis of events of said provisional group; and wherein a topology element with a contribution ratio higher than a predetermined ratio threshold is selected as root-cause diagnosis of a subgroup of events related to said topology element.
 16. The method according to claim 1, wherein the monitoring time signals representative of the operation of the network to detect the occurrence of an event relative to the network traffic comprises an adaptive computation an upper and a lower anomaly threshold value for at least one metric of said time signals, an event being detected if said metric value is above said upper anomaly threshold value or below said lower anomaly threshold value, the adaptive computation comprising statistical analysis to minimize a given function.
 17. A non-transitory computer-readable medium comprising software instructions which, when implemented by a programmable device, implement a method for determining root-cause diagnosis of events occurring during the operation of a communication network, according to claim
 1. 18. System for determining root-cause diagnosis of events occurring during the operation of a communication network, comprising a programmable device having a processor configured to monitor time signals representative of the operation of the network to detect the occurrence of an event relative to the network traffic, execute a first processing phase, wherein for each detected event, during the duration of said event, the processor implements a module for obtaining distributions of data on several dimensions of the network linked to said event, a module for automatically determining an event root-cause diagnosis of the detected event, called single event diagnosis, comprising at least one element of said distributions, an element being a value taken by a network dimension having a contribution in said distributions of data, the single event diagnosis determination using a first set of rules of business logic configuration organized hierarchically, which are applied according to said hierarchy to select at least one element of said distributions, the selection of more than one element comprising machine learning clustering.
 19. The system according to claim 18, wherein the processor is further configured for implementing a second processing phase of determining a root-cause diagnosis for a group of at least two distinct events, from the single event diagnosis determined for each of the events of the group of events, based on a computation of a mathematical correlation between time signals related to said events, and applying a second set of rules of business logic configuration. 